# GENERATED BY: test/dependency_services/dependency_services_test.dart

$ cat pubspec.yaml
{"name":"myapp","version":"1.2.3","homepage":"https://pub.dev","description":"A package, I guess.","dependencies":{"foo":"^1.0.0","bar":"^1.0.0"},"environment":{"sdk":"^3.5.0"},"workspace":["pkgs/a"]}
$ cat pkgs/a/pubspec.yaml
{"name":"a","version":"1.1.1","homepage":"https://pub.dev","description":"A package, I guess.","dependencies":{"bar":">=1.2.0 <1.5.0","only_a":"^1.0.0"},"dev_dependencies":{"foo":"^1.2.0","dev":"^1.0.0"},"environment":{"sdk":"^3.5.0-0"},"resolution":"workspace"}
$ cat pubspec.lock
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
  bar:
    dependency: "direct main"
    description:
      name: bar
      sha256: $SHA256
      url: "http://localhost:$PORT"
    source: hosted
    version: "1.2.3"
  dev:
    dependency: transitive
    description:
      name: dev
      sha256: $SHA256
      url: "http://localhost:$PORT"
    source: hosted
    version: "1.0.0"
  foo:
    dependency: "direct main"
    description:
      name: foo
      sha256: $SHA256
      url: "http://localhost:$PORT"
    source: hosted
    version: "1.2.3"
  only_a:
    dependency: transitive
    description:
      name: only_a
      sha256: $SHA256
      url: "http://localhost:$PORT"
    source: hosted
    version: "1.0.0"
sdks:
  dart: ">=3.5.0 <4.0.0"
-------------------------------- END OF OUTPUT ---------------------------------

## Section list
$ echo '' | dependency_services list
{
  "dependencies": [
    {
      "name": "bar",
      "version": "1.2.3",
      "kind": "direct",
      "constraint": ">=1.2.0 <1.5.0",
      "source": {
        "type": "hosted",
        "description": {
          "name": "bar",
          "url": "http://localhost:$PORT",
          "sha256": "0b119406be305b6e65d33551008b5b72fdd810965f0df914478c940d5fe28e53"
        }
      }
    },
    {
      "name": "dev",
      "version": "1.0.0",
      "kind": "dev",
      "constraint": "^1.0.0",
      "source": {
        "type": "hosted",
        "description": {
          "name": "dev",
          "url": "http://localhost:$PORT",
          "sha256": "fb990b7b071a76286080ee183e9ed4cd6d5538f8e1eccce8c1f2caf50c51c1bc"
        }
      }
    },
    {
      "name": "foo",
      "version": "1.2.3",
      "kind": "direct",
      "constraint": "^1.2.0",
      "source": {
        "type": "hosted",
        "description": {
          "name": "foo",
          "url": "http://localhost:$PORT",
          "sha256": "b2b7fc405959806aa1f31ac7e68752534f66f66a11a280d9878ecb6cd835f01c"
        }
      }
    },
    {
      "name": "only_a",
      "version": "1.0.0",
      "kind": "direct",
      "constraint": "^1.0.0",
      "source": {
        "type": "hosted",
        "description": {
          "name": "only_a",
          "url": "http://localhost:$PORT",
          "sha256": "8846e47bf6bbb3a868043fb35f476e5dad2fcb45ee35439e5d1722e05bf6466a"
        }
      }
    }
  ]
}

-------------------------------- END OF OUTPUT ---------------------------------

## Section report
$ echo '' | dependency_services report
{
  "dependencies": [
    {
      "name": "bar",
      "version": "1.2.3",
      "kind": "direct",
      "source": {
        "type": "hosted",
        "description": {
          "name": "bar",
          "url": "http://localhost:$PORT",
          "sha256": "0b119406be305b6e65d33551008b5b72fdd810965f0df914478c940d5fe28e53"
        }
      },
      "latest": "2.2.3",
      "constraint": ">=1.2.0 <1.5.0",
      "compatible": [],
      "singleBreaking": [
        {
          "name": "bar",
          "version": "2.2.3",
          "kind": "direct",
          "source": {
            "type": "hosted",
            "description": {
              "name": "bar",
              "url": "http://localhost:$PORT",
              "sha256": "18169c0899ff5f0551a80839dc1618e597a6ee4508a5065f9318dd2a2fda6455"
            }
          },
          "constraintBumped": "^2.2.3",
          "constraintWidened": ">=1.2.0 <3.0.0",
          "constraintBumpedIfNeeded": "^2.2.3",
          "previousVersion": "1.2.3",
          "previousConstraint": ">=1.2.0 <1.5.0",
          "previousSource": {
            "type": "hosted",
            "description": {
              "name": "bar",
              "url": "http://localhost:$PORT",
              "sha256": "0b119406be305b6e65d33551008b5b72fdd810965f0df914478c940d5fe28e53"
            }
          }
        }
      ],
      "multiBreaking": [
        {
          "name": "bar",
          "version": "2.2.3",
          "kind": "direct",
          "source": {
            "type": "hosted",
            "description": {
              "name": "bar",
              "url": "http://localhost:$PORT",
              "sha256": "18169c0899ff5f0551a80839dc1618e597a6ee4508a5065f9318dd2a2fda6455"
            }
          },
          "constraintBumped": "^2.2.3",
          "constraintWidened": ">=1.2.0 <3.0.0",
          "constraintBumpedIfNeeded": "^2.2.3",
          "previousVersion": "1.2.3",
          "previousConstraint": ">=1.2.0 <1.5.0",
          "previousSource": {
            "type": "hosted",
            "description": {
              "name": "bar",
              "url": "http://localhost:$PORT",
              "sha256": "0b119406be305b6e65d33551008b5b72fdd810965f0df914478c940d5fe28e53"
            }
          }
        }
      ]
    },
    {
      "name": "dev",
      "version": "1.0.0",
      "kind": "dev",
      "source": {
        "type": "hosted",
        "description": {
          "name": "dev",
          "url": "http://localhost:$PORT",
          "sha256": "fb990b7b071a76286080ee183e9ed4cd6d5538f8e1eccce8c1f2caf50c51c1bc"
        }
      },
      "latest": "2.0.0",
      "constraint": "^1.0.0",
      "compatible": [],
      "singleBreaking": [
        {
          "name": "dev",
          "version": "2.0.0",
          "kind": "dev",
          "source": {
            "type": "hosted",
            "description": {
              "name": "dev",
              "url": "http://localhost:$PORT",
              "sha256": "e3496752d80b78354cd745f8d1e381c42022b14624233c9e5306711171418d09"
            }
          },
          "constraintBumped": "^2.0.0",
          "constraintWidened": ">=1.0.0 <3.0.0",
          "constraintBumpedIfNeeded": "^2.0.0",
          "previousVersion": "1.0.0",
          "previousConstraint": "^1.0.0",
          "previousSource": {
            "type": "hosted",
            "description": {
              "name": "dev",
              "url": "http://localhost:$PORT",
              "sha256": "fb990b7b071a76286080ee183e9ed4cd6d5538f8e1eccce8c1f2caf50c51c1bc"
            }
          }
        }
      ],
      "multiBreaking": [
        {
          "name": "dev",
          "version": "2.0.0",
          "kind": "dev",
          "source": {
            "type": "hosted",
            "description": {
              "name": "dev",
              "url": "http://localhost:$PORT",
              "sha256": "e3496752d80b78354cd745f8d1e381c42022b14624233c9e5306711171418d09"
            }
          },
          "constraintBumped": "^2.0.0",
          "constraintWidened": ">=1.0.0 <3.0.0",
          "constraintBumpedIfNeeded": "^2.0.0",
          "previousVersion": "1.0.0",
          "previousConstraint": "^1.0.0",
          "previousSource": {
            "type": "hosted",
            "description": {
              "name": "dev",
              "url": "http://localhost:$PORT",
              "sha256": "fb990b7b071a76286080ee183e9ed4cd6d5538f8e1eccce8c1f2caf50c51c1bc"
            }
          }
        }
      ]
    },
    {
      "name": "foo",
      "version": "1.2.3",
      "kind": "direct",
      "source": {
        "type": "hosted",
        "description": {
          "name": "foo",
          "url": "http://localhost:$PORT",
          "sha256": "b2b7fc405959806aa1f31ac7e68752534f66f66a11a280d9878ecb6cd835f01c"
        }
      },
      "latest": "2.2.3",
      "constraint": "^1.2.0",
      "compatible": [],
      "singleBreaking": [
        {
          "name": "foo",
          "version": "2.2.3",
          "kind": "direct",
          "source": {
            "type": "hosted",
            "description": {
              "name": "foo",
              "url": "http://localhost:$PORT",
              "sha256": "a7e0832c069301a6e6ba78d792a08156fbf5bbfc04e766393ad7c98e7a27f648"
            }
          },
          "constraintBumped": "^2.2.3",
          "constraintWidened": ">=1.2.0 <3.0.0",
          "constraintBumpedIfNeeded": "^2.2.3",
          "previousVersion": "1.2.3",
          "previousConstraint": "^1.2.0",
          "previousSource": {
            "type": "hosted",
            "description": {
              "name": "foo",
              "url": "http://localhost:$PORT",
              "sha256": "b2b7fc405959806aa1f31ac7e68752534f66f66a11a280d9878ecb6cd835f01c"
            }
          }
        },
        {
          "name": "transitive",
          "version": "1.0.0",
          "kind": "transitive",
          "source": {
            "type": "hosted",
            "description": {
              "name": "transitive",
              "url": "http://localhost:$PORT",
              "sha256": "d705923b5a6b4c7053e6d86a35799ede6467245151ff15dfdd5719986a61d49c"
            }
          },
          "constraintBumped": null,
          "constraintWidened": null,
          "constraintBumpedIfNeeded": null,
          "previousVersion": null,
          "previousConstraint": null,
          "previousSource": null
        }
      ],
      "multiBreaking": [
        {
          "name": "foo",
          "version": "2.2.3",
          "kind": "direct",
          "source": {
            "type": "hosted",
            "description": {
              "name": "foo",
              "url": "http://localhost:$PORT",
              "sha256": "a7e0832c069301a6e6ba78d792a08156fbf5bbfc04e766393ad7c98e7a27f648"
            }
          },
          "constraintBumped": "^2.2.3",
          "constraintWidened": ">=1.2.0 <3.0.0",
          "constraintBumpedIfNeeded": "^2.2.3",
          "previousVersion": "1.2.3",
          "previousConstraint": "^1.2.0",
          "previousSource": {
            "type": "hosted",
            "description": {
              "name": "foo",
              "url": "http://localhost:$PORT",
              "sha256": "b2b7fc405959806aa1f31ac7e68752534f66f66a11a280d9878ecb6cd835f01c"
            }
          }
        },
        {
          "name": "transitive",
          "version": "1.0.0",
          "kind": "transitive",
          "source": {
            "type": "hosted",
            "description": {
              "name": "transitive",
              "url": "http://localhost:$PORT",
              "sha256": "d705923b5a6b4c7053e6d86a35799ede6467245151ff15dfdd5719986a61d49c"
            }
          },
          "constraintBumped": null,
          "constraintWidened": null,
          "constraintBumpedIfNeeded": null,
          "previousVersion": null,
          "previousConstraint": null,
          "previousSource": null
        }
      ]
    },
    {
      "name": "only_a",
      "version": "1.0.0",
      "kind": "direct",
      "source": {
        "type": "hosted",
        "description": {
          "name": "only_a",
          "url": "http://localhost:$PORT",
          "sha256": "8846e47bf6bbb3a868043fb35f476e5dad2fcb45ee35439e5d1722e05bf6466a"
        }
      },
      "latest": "2.0.0",
      "constraint": "^1.0.0",
      "compatible": [],
      "singleBreaking": [
        {
          "name": "only_a",
          "version": "2.0.0",
          "kind": "direct",
          "source": {
            "type": "hosted",
            "description": {
              "name": "only_a",
              "url": "http://localhost:$PORT",
              "sha256": "5070353618421ae8ee236208fedb6940e6203a2147d808109acf36f5b33102af"
            }
          },
          "constraintBumped": "^2.0.0",
          "constraintWidened": ">=1.0.0 <3.0.0",
          "constraintBumpedIfNeeded": "^2.0.0",
          "previousVersion": "1.0.0",
          "previousConstraint": "^1.0.0",
          "previousSource": {
            "type": "hosted",
            "description": {
              "name": "only_a",
              "url": "http://localhost:$PORT",
              "sha256": "8846e47bf6bbb3a868043fb35f476e5dad2fcb45ee35439e5d1722e05bf6466a"
            }
          }
        }
      ],
      "multiBreaking": [
        {
          "name": "only_a",
          "version": "2.0.0",
          "kind": "direct",
          "source": {
            "type": "hosted",
            "description": {
              "name": "only_a",
              "url": "http://localhost:$PORT",
              "sha256": "5070353618421ae8ee236208fedb6940e6203a2147d808109acf36f5b33102af"
            }
          },
          "constraintBumped": "^2.0.0",
          "constraintWidened": ">=1.0.0 <3.0.0",
          "constraintBumpedIfNeeded": "^2.0.0",
          "previousVersion": "1.0.0",
          "previousConstraint": "^1.0.0",
          "previousSource": {
            "type": "hosted",
            "description": {
              "name": "only_a",
              "url": "http://localhost:$PORT",
              "sha256": "8846e47bf6bbb3a868043fb35f476e5dad2fcb45ee35439e5d1722e05bf6466a"
            }
          }
        }
      ]
    }
  ]
}

-------------------------------- END OF OUTPUT ---------------------------------

## Section apply
$ echo '{"dependencyChanges":[{"name":"foo","version":"2.2.3"},{"name":"transitive","version":"1.0.0"},{"name":"only_a","version":"2.0.0","constraint":"^2.0.0"}]}' | dependency_services apply
{"dependencies":[]}

-------------------------------- END OF OUTPUT ---------------------------------

$ cat pubspec.yaml
{"name":"myapp","version":"1.2.3","homepage":"https://pub.dev","description":"A package, I guess.","dependencies":{"foo":^2.2.3,"bar":"^1.0.0"},"environment":{"sdk":"^3.5.0"},"workspace":["pkgs/a"]}
$ cat pkgs/a/pubspec.yaml
{"name":"a","version":"1.1.1","homepage":"https://pub.dev","description":"A package, I guess.","dependencies":{"bar":">=1.2.0 <1.5.0","only_a":^2.0.0},"dev_dependencies":{"foo":^2.2.3,"dev":"^1.0.0"},"environment":{"sdk":"^3.5.0-0"},"resolution":"workspace"}
$ cat pubspec.lock
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
  bar:
    dependency: "direct main"
    description:
      name: bar
      sha256: $SHA256
      url: "http://localhost:$PORT"
    source: hosted
    version: "1.2.3"
  dev:
    dependency: transitive
    description:
      name: dev
      sha256: $SHA256
      url: "http://localhost:$PORT"
    source: hosted
    version: "1.0.0"
  foo:
    dependency: "direct main"
    description:
      name: foo
      sha256: $SHA256
      url: "http://localhost:$PORT"
    source: hosted
    version: "2.2.3"
  only_a:
    dependency: transitive
    description:
      name: only_a
      sha256: $SHA256
      url: "http://localhost:$PORT"
    source: hosted
    version: "2.0.0"
  transitive:
    dependency: transitive
    description:
      name: transitive
      sha256: $SHA256
      url: "http://localhost:$PORT"
    source: hosted
    version: "1.0.0"
sdks:
  dart: ">=3.5.0 <4.0.0"
